#include <iostream>
#include <string>

struct  my_data
{
    int i;
    double d;
    unsigned bf1:10;
    int bf2:25;
    int :0;
    // int bf3:0;
    int bf4:9;
    int i2;
    char c1,c2;
    std::string s;
};


 struct  my_dataXX
{
    int i;
    unsigned bf1:10;
    int bf2:23;

};


int main()
{
    using namespace std;
    my_data data;
    my_dataXX xxx;
    cout<<"size of data is :" <<sizeof(data)<<"\n";

    cout<<"address of data member at" <<&data.i<<"\n";
    cout<<"address of data member at" <<&data.d<<"\n";
    // cout<<"address of data member at" <<&data.bf1<<"\n";
    // cout<<"address of data member at" <<&data.bf2<<"\n";
    // cout<<"address of data member at" <<&data.bf4<<"\n";
    
    cout<<"address of data member at" <<&data.i2<<"\n";
    cout<<"address of data member at" <<&data.c1<<"\n";
    cout<<"address of data member at" <<&data.c2<<"\n";
    cout<<"address of data member at" <<&data.s<<"\n";


    cout<<"size of data is :" <<sizeof(my_dataXX)<<"\n";
    cout<<"address of my_dataXX member at" <<&xxx.i<<"\n";
    cout<<"address of my_dataXX member at" <<xxx.bf1<<"\n";
    cout<<"address of my_dataXX member at" <<xxx.bf2<<"\n";

    
    
}